﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;

public partial class admin_ConfigProduct_ListBrandCate : System.Web.UI.Page
{
    BrandCateBLL brandData = new BrandCateBLL();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["url_back_admin"] = Request.RawUrl;
            ShowData();
        }
    }
    
    private void ShowData()
    {
        int PageRow = Convert.ToInt32(dropPageSize.SelectedValue);
        gridView.PageSize = PageRow;
        gridView.DataSource = brandData.GetAll();
        gridView.DataBind();
    }
    protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        lbThongBao.Text = "";
        try
        {
            gridView.PageIndex = e.NewPageIndex;
            ShowData();
        }
        catch { }
    }
    protected void gridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        if ((int)Session["Role"] != 1)
        {
            lbThongBao.Text = "Bạn không có quyền thực hiện thao tác này ! ";
            return;
        }
        try
        {
            lbThongBao.Text = "";
            int id = Convert.ToInt32(gridView.Rows[e.RowIndex].Cells[2].Text);
            ProductBLL productData = new ProductBLL();
            int count = productData.GetByBrand(id).Count;
            if (count > 0)
            {
                Myfunction.ThongBao(lbThongBao, "Hiện tại có " + count + " sản phẩm có trạng thái này ! Bạn phải xóa các sản phẩm đó trước khi xóa cấu hình trạng thái");
                return;
            }

            brandData.Delete(id);
            Myfunction.ThongBao(lbThongBao, "Thương hiệu đã được xóa");

            ShowData();
        }
        catch (Exception ex)
        {
            Myfunction.ThongBao(lbThongBao, ex.Message);
        }
    }

    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/ConfigProduct/DetailBrandCate.aspx");
    }

    protected void btnXoaChon_Click(object sender, EventArgs e)
    {
        if ((int)Session["Role"] != 1)
        {
            lbThongBao.Text = "Bạn không có quyền thực hiện thao tác này ! ";
            return;
        }
        try
        {
            lbThongBao.Text = "";
            foreach (GridViewRow item in gridView.Rows)
            {
                foreach (Control ctrl in item.Cells[1].Controls)
                {
                    if (ctrl.GetType() == typeof(CheckBox))
                    {
                        CheckBox check = (CheckBox)ctrl;
                        if (check.Checked)
                        {
                            int id = Convert.ToInt32(item.Cells[2].Text);
                            brandData.Delete(id);
                        }
                        break;
                    }
                }
            }
            ShowData();
        }
        catch (Exception ex)
        {
            Myfunction.ThongBao(lbThongBao, ex.Message);
        }
    }
    protected void linkCheckAll_Click(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        foreach (GridViewRow item in gridView.Rows)
        {
            foreach (Control ctrl in item.Cells[1].Controls)
            {
                if (ctrl.GetType() == typeof(CheckBox))
                {
                    CheckBox check = (CheckBox)ctrl;
                    check.Checked = true;
                    break;
                }
            }
        }
    }
    protected void linkUnCheckAll_Click(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        foreach (GridViewRow item in gridView.Rows)
        {
            foreach (Control ctrl in item.Cells[1].Controls)
            {
                if (ctrl.GetType() == typeof(CheckBox))
                {
                    CheckBox check = (CheckBox)ctrl;
                    check.Checked = false;
                    break;
                }
            }
        }
    }
    protected void dropCountRow_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        gridView.PageSize = Convert.ToInt32(dropPageSize.SelectedValue);
        ShowData();
    }
    protected void dropMode_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        ShowData();
    }
    protected void gridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        //if ((int)Session["Role"] != 1)
        //{
        //    lbThongBao.Text = "Bạn không có quyền thực hiện thao tác này ! ";
        //    return;
        //}
        //try
        //{
        //    lbThongBao.Text = "";
        //    if (e.CommandName.Equals("Up"))
        //    {
        //        int index = Convert.ToInt32(e.CommandArgument);
        //        int idFirst = Convert.ToInt32(gridView.Rows[index].Cells[2].Text);
        //        int idSecond = Convert.ToInt32(gridView.Rows[index - 1].Cells[2].Text);

        //        if (brandData.GetById(idFirst).Mode != brandData.GetById(idSecond).Mode)
        //        {
        //            Myfunction.ThongBao(lbThongBao, "Chỉ được đổi thứ tự 2 size trong cùng 1 nhóm sản phẩm");
        //            return;
        //        }

        //        brandData.SwapSort(idFirst, idSecond);
        //    }
        //    else if (e.CommandName.Equals("Down"))
        //    {
        //        int index = Convert.ToInt32(e.CommandArgument);
        //        int idFirst = Convert.ToInt32(gridView.Rows[index].Cells[2].Text);
        //        int idSecond = Convert.ToInt32(gridView.Rows[index + 1].Cells[2].Text);

        //        if (brandData.GetById(idFirst).Mode != brandData.GetById(idSecond).Mode)
        //        {
        //            Myfunction.ThongBao(lbThongBao, "Chỉ được đổi thứ tự 2 size trong cùng 1 nhóm sản phẩm");
        //            return;
        //        }

        //        brandData.SwapSort(idFirst, idSecond);
        //    }
        //    ShowData();

        //}
        //catch (Exception ex)
        //{
        //    Myfunction.ThongBao(lbThongBao, ex.Message);
        //}
    }
}